This invention relates to the fields of computer systems and networking. More particularly, a system and methods are provided for efficiently supporting multicast communications and multicast group membership in a network.
Networking architectures such as InfiniBand support multicast traffic in which one node issues or forwards a communication to multiple other nodes in a specified multicast group. In InfiniBand, network nodes include switches and channel adapters. Both types of nodes can be members of a multicast group. A group member may be configured to receive all multicast communications sent by other members and may also issue multicast communications. Or, a member may be configured to only send multicast communications, in which case it is not an end-consumer of the group's multicast communications.
Traditional multicast schemes often allow network nodes to forward a multicast communication to a neighboring node even if correct operation of the multicast group does not require the neighboring node to receive the communication. For example, after a node leaves a multicast group, it may continue to receive group traffic for some time, until group membership is updated.
Or, when an end node is removed from a group, an intermediate network node that only forwarded group communications to the end node, but which did not use the communications itself, may not be removed. These deficiencies would cause extra, unneeded traffic within the network. Meanwhile, the larger a network and the more members in a multicast group, the more important it becomes to keep traffic to a minimum.
In traditional multicast schemes, an intermediate or end node might only be removed when the multicast network was periodically rebuilt based on current end node membership. Rebuilding a multicast group network only after multiple changes have been made to the group's membership typically requires a great deal of management traffic.